草庐IT

c++ - SomeClass **ptr; 之间的区别和 SomeClass *ptr;

全部标签

c++ - GetKeyState 和 GetAsyncKeyState 有什么区别?

从MSDN,我了解到GetKeyState与当前线程的消息队列相关联。然后我创建了两个示例应用程序:KeyPresser和BackChecker。我在KeyPresser中按下一个键,在这个应用程序中,我使用GetKeyState/GetAsyncKeyState/GetKeyboardState来检索按下的键状态,他们告诉我那个键是按下。然后我将KeyPresser消息发送(或发布)到BackChecker,以通知BackChecker检查其线程中的键状态。我从BackChecker得到相同的结果,表明按下了键。但我认为GetKeyState/GetKeyboardState应该返回

c - 在c和windows中获取进程组的用户时间

在Unix中我可以调用times()不仅可以获取当前进程的运行时间,还可以获取整个进程组的运行时间。在Windows中,我可以调用GetProcessTimes()获取当前进程的时间。但是,文档似乎表明这不会返回整个进程组的运行时间。那么有什么方法可以获取进程的运行时间,以及它在Windows中的所有子进程? 最佳答案 正如Harry所说,这不能做到,至少不能直接做到,因为Windows不像Unix那样跟踪进程之间的父/子关系。但是,您可以通过为进程创建共享内存来解决这个问题,并让它们都在运行时更新该位置。在这里您可以找到更多信息d

c - 如何在C中设置用户输入字符的时间限制?

首先,抱歉我的英语不好。我正在使用windows.h中包含的GetTickCount()函数和conio.h中包含的getch()。我真正想要的是给用户输入字符的时间限制。如果时间限制失效,程序继续执行,跳过等待用户输入字符。charch='A';DWORDstart_time,check_time;start_time=GetTickCount();check_time=start+500;//GetTickCountreturnstimeinmiliseconds,soIadd500towaitinputforhalfasecond.while(check_time>GetTick

c - 通过地址获取函数名

使用这段代码,我可以通过名称获取函数的地址:DWORDdwAddr=(DWORD)GetProcAddress(GetModuleHandleA("user32.dll"),"MessageBoxA");但是有可能做相反的过程吗?从函数地址找到函数名?假设MessageBoxA地址是0x1234abcd。我想要的是:char*func_name=this_is_what_i_want(0x1234abcd);printf("%s",func_name);//thiswillprint"MessageBoxA"操作系统:Windows 最佳答案

c - 'st_blksize' : is not a member of 'stat' on Windows

因为我想从Linux移植到Windows。我意识到Windows和LinuxAPI都有stat.h但有一些不同。问题是Windowsstat.h没有st_blksize变量,但Linux有。我真的不明白st_blksize也可以做什么。谁能帮我解决这个问题?如何在Windows上找到与st_blksize等效的内容? 最佳答案 对于Linux结构定义,请访问此处:http://pubs.opengroup.org/onlinepubs/7908799/xsh/sysstat.h.html主要摘录:st_size:文件大小(以字节为单

Windows 和 Linux 中二进制文件的 C 库校验和

我将CRC库用于校验和,对于文本文件,在Windows和Linux中结果相同,但对于二进制文件,结果不同。我在Windows中使用mingw编译我的c程序,校验和结果不同。有没有一种方法可以使用CRC库在Windows和Linux之间产生相同的校验和结果?添加代码:我将此代码用于校验和文件,是从一些网络谷歌搜索中找到的。(忘记保存链接)。crc32.c#include#include#include#include#defineCRC(crc,ch)(crc=(crc>>8)^crctabb[(crc^(ch))&0xff])staticconstuint32_tcrctabb[256

c - 我想打开新的 cmd 提示符并从 cmd 提示符插入参数

我尝试启动cmd以打开新的cmd提示符,但我无法在新的cmd中提供命令行参数..我试过以下system("startcmd")>>"system("C:\\Windows\\System32\\ipconfig");不工作system(startsystem("C:\\Windows\\System32\\ipconfig"));不工作 最佳答案 正如DipakDDesai所说,您可以简单地使用system("cmd/cstartC:\\Windows\\System32\\ipconfig");但是如果您在非控制台应用程序中执行此

c - C 中的 Visual Studio 错误,0xfefefefe 处的未处理异常

我正在学习如何在VisualStudio中编写C,这是我的代码,#includeintmain(){charme[20];printf("Whatisyourname?");scanf_s("%s",me);printf("darngladtomeetyou,%s!\n",me);return(0);}现在,在输入所有内容后,我会弹出一个错误消息“Project14.exe中0xFEFEFEFE处未处理的异常:0xC00001A5:已检测到无效的异常处理程序例程(参数:0x00000003)” 最佳答案 您使用的scanf_s()有

仅在 Windows 中的 C 程序编译器警告 (MinGW-w64)

我构建了一个多语言软件图像处理程序,并使其普遍适用于MacOSX和Ubuntu的二进制文件。二进制文件已经在各自的操作系统上进行了测试,一切正常。我最近还尝试发布适用于Windows(64位)的二进制文件,但是当我创建共享库(dll)文件时,GCC(通过MinGW-w64)编译器针对其中一个C程序发出了警告。这在MacOSX或Ubuntu中没有发生。以下是C文件中的警告和相应的代码行:warning:passingargument3of'_beginthreadex'fromincompatiblepointertype[enabledbydefault]第464行:ThreadLis

python - Windows 上这 4 种不同类型的 Python shebang 之间有什么区别?

我刚刚在学习Python时第一次遇到shebangs(#!),我仍在努力理解它们的工作原理。做了一些研究后,我登陆了thispage它列出了四种不同类型的shebangs。但是,我不太确定在Windows中有什么区别。#!/usr/bin/envpython#!/usr/bin/python#!/usr/local/bin/python#!python现在,我敢打赌第一个与虚拟环境有关,但我不太确定是什么。根据这个StackOverflowthread,上面列出的路径实际上是针对POSIX系统的,而不是针对Windows的……这让我更加困惑,因为它们以某种方式被转换为Windows目录